﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using Telerik.Web.UI;
using SMA.GENTEv1;

public partial class Protegidos_Pessoas_Incluir : PageBase
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            CarregarSexo(rcbSexo);
            CarregaEstadoCivil(rcbEstadoCivil);
        }
    }

    #region Eventos
    protected void btnSalvar_Click(object sender, EventArgs e)
    {
        Pessoa pessoa = new Pessoa();

        if (!pessoa.ExisteCPF(double.Parse(txtCPF.Text), IdPrestador))
        {
            GravaDadosPessoais();
            trMensagem.Visible = true;
            lblResultado.Text = "Dados salvos com sucesso! <a href='Pesquisar.aspx'>Clique aqui para continuar o cadastro</a>";
        }
        else
        {
            trMensagem.Visible = true;
            lblResultado.Text = "CPF já cadastrado!";
        }
    }
    #endregion

    #region Metodos
    private void GravaDadosPessoais()
    {
        try
        {
            Pessoa pessoa = new Pessoa();
            pessoa.Nome = txtNome.Text;
            pessoa.Apelido = txtApelido.Text;
            pessoa.Sexo = new TipoSexo(int.Parse(rcbSexo.SelectedValue.ToString()));
            pessoa.EstadoCivil = new EstadoCivil(int.Parse(rcbEstadoCivil.SelectedValue.ToString()));
            pessoa.DataNascimento = txtDataNascimento.SelectedDate;
            pessoa.Cpf = double.Parse(txtCPF.Text);
            pessoa.IdOrganizacao = IdPrestador;

            pessoa.Salvar();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void CarregarSexo(RadComboBox combo)
    {
        try
        {
            TipoSexo sexo = new TipoSexo();

            combo.DataTextField = "Descricao";
            combo.DataValueField = "IdTipoSexo";
            combo.DataSource = sexo.SelectAll();
            combo.DataBind();

            InserirSelecione(combo);

        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void CarregaEstadoCivil(RadComboBox combo)
    {
        try
        {
            EstadoCivil estadoCivil = new EstadoCivil();

            combo.DataTextField = "Descricao";
            combo.DataValueField = "IdEstadoCivil";
            combo.DataSource = estadoCivil.SelectAll();
            combo.DataBind();

            InserirSelecione(combo);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    private void InserirSelecione(RadComboBox combo)
    {
        try
        {
            combo.Items.Insert(0, new RadComboBoxItem(" -- Selecione -- ", "0"));
            combo.SelectedIndex = 0;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    #endregion
    
}
